package com.sea.empeno.service;

import javax.persistence.EntityManager;
import com.sea.util.*;


import java.util.List;
import javax.management.RuntimeErrorException;
import javax.persistence.EntityManager;
import javax.persistence.EntityTransaction;

import com.sea.model.repository.*;
import com.sea.model.*;

public class RegistrarVentaService {

	private ArtefactosRepository artefactoRepository;
	private CompradorRepository compradorRepository;
	private Boleta_de_ventaRepository boleta_de_ventaRepository;
	
	private EntityManager em;
	
	public RegistrarVentaService(){
		em= Utilitario.getInstance().getEntityManager();
		artefactoRepository= new ArtefactosRepository(em);
		compradorRepository= new CompradorRepository(em);
		boleta_de_ventaRepository= new Boleta_de_ventaRepository(em);
		
	}
	public void registrarVenta(Boleta_de_venta b, Comprador c,Artefacto a) throws RuntimeException{
			EntityTransaction tx=em.getTransaction();
			try {
				tx.begin();
				artefactoRepository.insert(a);
				compradorRepository.insert(c);
				boleta_de_ventaRepository.insert(b);
				tx.commit();
			} catch (Exception e2) {
				// TODO: handle exception
				e2.printStackTrace();
				tx.rollback();
				throw new RuntimeException("No se pudo registrar la venta");
			}

	}

	
}
